package com.ysd.lis.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ysd.common.Result;
import com.ysd.lis.dto.PubEmployeeDto;
import com.ysd.lis.entity.PubEmployee;
import com.ysd.lis.request.PubEmployeeAddParam;
import com.ysd.lis.request.PubEmployeePageParam;
import com.ysd.lis.request.UserInfoVo;

import java.util.List;

/**
 * <p>
 * 员工表
 * 服务类
 * </p>
 *
 * @author LiuQi
 * @since 2023-10-19
 */
public interface PubEmployeeService extends IService<PubEmployee> {
    Result findAllHisEmployeeListByOrgDept(PubEmployeePageParam pubEmployeePageParam);

    Result finAllHisEmployeeList(String roleId);

    Result finAllHisEmployeeList();

    Result addHisEmployee(PubEmployeeAddParam pubEmployeeAddParam);

    Result editHisEmployee(PubEmployeeAddParam pubEmployeeAddParam);

    Result deleteHisEmployeeById(String id);

    Result getHisEmployeeInfoById(String id);

    Result getUserListByHisEmployeeId(String id);

    Result deleteUserContactById(String id, String type);

    Result addContactUserInfo(String hisEmployeeId, String userId);

    Result updateEmpowerNum(String id, String empowerNum);

    Result addContactDeptInfo(String hisEmployeeId, String deptId);

    Result deleteDeptContactById(String id, String type);

    Result getDeptListByHisEmployeeId(String id);

    Result uploadSignatureFile(String id, String signatureUrl);

    Result getSignatureFilePath(String id);

    Result setDefaultDeptByHisEmployeeId(String id, String employeeId);

    Result getEmployeePageList(PubEmployeePageParam pageParam);

    Result getEmployeeByCodeAndNum(PubEmployee employee);

    List<UserInfoVo> finAllHisEmployees(String info);

    /*同步医生*/
    Result syncPubEmployees();

    Result hisEmployeeBatchCreateUser(PubEmployeeDto dto);

    Result getPubEmployeeList(PubEmployeePageParam pageParam);

    Result hisEmployeeBatchCreateHSUser(PubEmployeeDto dto);
}
